Accurate and efficient registration is important in a variety of contexts. For example, many phases of microelectronic fabrication require some form of alignment and/or registration, i.e., precise relative positioning. From photolithography through final packaging of a semiconductor chip, high yield depends on the precise relative positioning of semiconductor components and production equipment. In particular, alignment and/or registration techniques play a key role in mask registration, stepping, dicing, die picking, die bonding, wire bonding, and optical inspection, for example. Thus, improvements in the speed, precision, and repeatability of alignment and registration systems can directly improve productivity.
Machine vision technology can provide greater speed and accuracy than standard registration techniques by first representing the objects to be registered by corresponding digitized or quantized images. The digitized images of the objects to be registered are captured by a video camera, and are then compared using digital image analysis.
Mathematically, an image is a discrete, two-dimensional function I(x,y), where the value of the function at each point (x,y) represents one of a plurality of possible shades of gray. Both the coordinates x and y and the shades of gray are represented by integers that fall within a range of values, i.e., are quantized. Typically, an image is a rectangle having a width and a height. Each point (x,y) in the image I(x,y) is called a "pixel", and is associated with a quantized gray value, e.g., an integer I(x,y) that is falls within the range 0.ltoreq.I(x,y).ltoreq.255. The quantized gray value of each pixel is usually a function of the radiance (power per unit solid angle per unit projected area) of a corresponding point in the scene that the image represents.
A "model" or "template" is similar to an image, except that it need not be rectangular, or even simply connected, i.e., it may consist of a collection of regions. A model can be treated like an image where each pixel in a rectangular region that includes the collection of regions can be assigned a gray value when the pixel is within one of the regions, or a "don't care" symbol when the pixel is not within one of the regions. Note that a "don't care" symbol is not the same as a zero.
Alignment shall be defined as orienting a first object with respect to a second object so as to make at least one alignment parameter of the first object, such as planar position or angular orientation, substantially equal to the corresponding alignment parameter of the second object. For example, a collection of pencils on a desk are aligned when they are all oriented in the same direction. Alternatively, given two sheets of paper on the desk, each having a dot printed thereon, the dots are aligned when a dot of the first sheet overlays a dot on the second sheet, i.e., the dots occupy the same projective position, regardless of the relative rotational orientation of the two sheets.
Registration of a pair of objects shall be defined as orienting a first object with respect to a second object so as to make all alignment parameters of the first object substantially equal to the corresponding alignment parameters of the second object. For example, a first semiconductor fabrication mask is said to be registered with an overlaying second semiconductor fabrication mask when either a single fiducial mark on the first mask is located at the same projective position as the corresponding fiducial mark on the second mask, or more than one fiducial on the first mask is aligned with respect to the corresponding fiducial mark on the second mask.
Alternatively, alignment can be defined as imprecise registration. For example, an alignment step for coarse relative positioning can be followed by a registration step to achieve fine, or more precise relative positioning.
A known approach commonly used for registration of digitized images is called "normalized correlation". In the fields of pattern recognition and machine vision, "correlation" refers to the-degree of similarity between a first image and a second image, where it shall be assumed that an "image" is a digitized, monochromatic rendition of an object. For purposes of registration, even two identical images are deemed to be dissimilar if they are not registered, due to the nature of the computation of the correlation coefficient, as will be discussed below. Moreover, the correlation coefficient indicates the degree of misregistration between the two images.
The correlation coefficient r of a first image M and a corresponding portion of a second image I at an offset (u,v) is given by: ##EQU1## where I.sub.i =I(u+x.sub.i,v+y.sub.i). The value of r(u,v) is always in the range: -1&lt;r(u,v).ltoreq.1. A value of 1 or -1 signifies a "perfect match" of a first image with a second image.
Two version of the normalized correlation coefficient n(u,v) are given by: EQU n(u,v)=r.sup.2 (u,v) (2a)
or EQU n(u,v)=max(r(u,v),0).sup.2 ( 2b)
In equation (2b), the "max" function forces all negative values of r(u,v) to 0.
The normalized correlation function of a pair of images is the set of correlation values at all positions (u,v) such that I.sub.i is a valid image pixel for all values of i. The correlation function will typically be a rectangular array of correlation values.
Assuming neither image of the image pair to be registered is flawed, registration of the two images of the image pair is achieved when the relative displacement of the two images causes the function n(u,v) to be maximized. Perfect registration requires that the local maximum also be the global maximum. The global maximum of the function n(u,v) is the point where n(u,v) takes on its largest value over all allowed values of u and v. A local maximum of n(u,v) is a point where the value of n(u,v) is larger than any of the values in some defined neighborhood of the point. Thus, the global maximum is also a local maximum. Multiplying n(u,v) by -1 has the effect of converting all local maxima into local minima, and all local minima into local maxima.
The use of normalized correlation for registration of a first image with respect to a second image is problematic when at least one of the images is flawed. An image is deemed to be flawed when it does not accurately represent the object it was intended to represent. For example, a flawed image can result from aberrant illumination of the object, such as lighting that creates a dark shadow or an excessively bright spot due to a highly reflective portion of the object. A flawed image of an object can also result when the object is obscured by another object. Also, if the object itself is flawed, such as might result from a processing or other manufacturing error, a flawed image results. In this case, the flawed image may accurately represent the flawed object, but nevertheless deviates from the image of what an unflawed object would be.
When at least one of the images to be registered is flawed, registration based on normalized correlation results in either poor registration, or misregistration, i.e., most of the features that can be found in both images are not in registered relationship. It obvious that if a feature is absent from a flawed image, it is impossible to register it with a corresponding feature in the other image. Nevertheless, it is desirable that a registration method provide substantial registration of all of the features common to both images, even when one of the images to be registered is flawed.